﻿using SIIE_ERP.Codigo;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SIIE_ERP.BaseDatos
{
    public static class Documentos_Relacion
    {
        #region SELECT

        public static DataTable Get_DocumentosOrigen(

            int Id_Documento,
            Documentos_Id Tipo_Documento
        )
        {
            string Tabla = "";
            string Id = "";

            if(Tipo_Documento == Documentos_Id.Doc_CotizacionVenta)
            {
                Tabla = "dbo_Trans_Cotizacion_Compra_Cab";
                Id = "Id_Cotizacion_Compra";
            }
            if(Tipo_Documento == Documentos_Id.Doc_Pedido)
            {
                Tabla = "dbo_Trans_Pedido_Cab";
                Id = "Id_Pedido";
            }
            if(Tipo_Documento == Documentos_Id.Doc_Remision)
            {
                Tabla = "dbo_Trans_Remision_Cab";
                Id = "Id_Remision";
            }
            if(Tipo_Documento == Documentos_Id.Doc_FacturaCliente)
            {
                Tabla = "dbo_Trans_Factura_Cliente_Cab";
                Id = "Id_Factura_Cliente";
            }
            if(Tipo_Documento == Documentos_Id.Doc_DevolucionCliente)
            {
                Tabla = "dbo_Trans_Devolucion_Cliente_Cab";
                Id = "Id_Devolucion_Cliente";
            }
            if(Tipo_Documento == Documentos_Id.Doc_NotaCreditoCliente)
            {
                Tabla = "dbo_Trans_Nota_Credito_Cliente_Cab";
                Id = "Id_Nota_Credito_Cliente";
            }
            if(Tipo_Documento == Documentos_Id.Doc_NotaCargoCliente)
            {
                Tabla = "dbo_dbo_Trans_Nota_Cargo_Cliente_Cab";
                Id = "Id_Nota_Cargo_Cliente";
            }
            if(Tipo_Documento == Documentos_Id.Doc_ReciboHonorariosVentas)
            {
                Tabla = "dbo_Trans_ReciboHonorarios_Cliente_Cab";
                Id = "Id_ReciboHonorarios_Cliente";
            }
            if(Tipo_Documento == Documentos_Id.Doc_ReciboArrendamientoVentas)
            {
                Tabla = "dbo_Trans_ReciboArrendamiento_Cliente_Cab";
                Id = "Id_ReciboArrendamiento_Cliente";
            }
            if(Tipo_Documento == Documentos_Id.Doc_ReciboNominaVentas)
            {
                Tabla = "dbo_Trans_ReciboNomina_Cliente_Cab";
                Id = "Id_ReciboNomina_Cliente";
            }
            if(Tipo_Documento == Documentos_Id.Doc_CotizacionCompra)
            {
                Tabla = "dbo_Trans_Cotizacion_Compra_Cab";
                Id = "Id_Cotizacion_Compra";
            }
            if(Tipo_Documento == Documentos_Id.Doc_OrdenCompra)
            {
                Tabla = "dbo_Trans_OrdenCompra_Cab";
                Id = "Id_OrdenCompra";
            }
            if(Tipo_Documento == Documentos_Id.Doc_Recepcion)
            {
                Tabla = "dbo_Trans_Recepcion_Cab";
                Id = "Id_Recepcion";
            }
            if(Tipo_Documento == Documentos_Id.Doc_FacturaProveedor)
            {
                Tabla = "dbo_Trans_Factura_Proveedor_Cab";
                Id = "Id_Factura_Proveedor";
            }
            if(Tipo_Documento == Documentos_Id.Doc_DevolucionProveedor)
            {
                Tabla = "dbo_Trans_Devolucion_Proveedor_Cab";
                Id = "Id_Devolucion_Proveedor";
            }
            if(Tipo_Documento == Documentos_Id.Doc_NotaCreditoProveedor)
            {
                Tabla = "dbo_Trans_Nota_Credito_Proveedor_Cab";
                Id = "Id_Nota_Credito_Proveedor";
            }
            if(Tipo_Documento == Documentos_Id.Doc_NotaCargoProveedor)
            {
                Tabla = "dbo_Trans_Nota_Cargo_Proveedor_Cab";
                Id = "Id_Nota_Cargo_Proveedor";
            }
            if(Tipo_Documento == Documentos_Id.Doc_ReciboHonorariosCompras)
            {
                Tabla = "dbo_Trans_ReciboHonorarios_Compras_Cab";
                Id = "Id_ReciboHonorarios_Compras";
            }
            if(Tipo_Documento == Documentos_Id.Doc_ReciboArrendamientoCompras)
            {
                Tabla = "dbo_Trans_ReciboArrendamiento_Compras_Cab";
                Id = "Id_ReciboArrendamiento_Compras";
            }
            if(Tipo_Documento == Documentos_Id.Doc_ReciboNominaCompras)
            {
                Tabla = "dbo_Trans_ReciboNomina_Compras_Cab";
                Id = "Id_ReciboNomina_Compras";
            }
            if(Tipo_Documento == Documentos_Id.Doc_PagoCliente)
            {
                Tabla = "dbo_Trans_Pago_Cliente";
                Id = "Id_Pago";
            }
            if(Tipo_Documento == Documentos_Id.Doc_PagoProveedor)
            {
                Tabla = "dbo_Trans_Pago_Proveedor";
                Id = "Id_Pago";
            }
            if(Tipo_Documento == Documentos_Id.Doc_AjusteSaldo)
            {
                Tabla = "dbo_Trans_Ajuste_Saldo";
                Id = "Id_Ajuste";
            }
            if(Tipo_Documento == Documentos_Id.Doc_MovimientoInventario)
            {
                Tabla = "dbo_Trans_MovInv_Cab";
                Id = "Id_MovInventario";
            }

            string Query = @"


                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Cotizacion_Venta_Cab AS A5 ON A5.Id_Cotizacion_Venta = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 110

                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Cotizacion_Compra_Cab AS A5 ON A5.Id_Cotizacion_Compra = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 111
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Pedido_Cab AS A5 ON A5.Id_Pedido = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 120
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_OrdenCompra_Cab AS A5 ON A5.Id_OrdenCompra = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 121
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Remision_Cab AS A5 ON A5.Id_Remision = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 130
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Recepcion_Cab AS A5 ON A5.Id_Recepcion = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 131
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Factura_Cliente_Cab AS A5 ON A5.Id_Factura_Cliente = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 140
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Factura_Proveedor_Cab AS A5 ON A5.Id_Factura_Proveedor = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 141
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Devolucion_Cliente_Cab AS A5 ON A5.Id_Devolucion_Cliente = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 150
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Devolucion_Proveedor_Cab AS A5 ON A5.Id_Devolucion_Proveedor = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 151
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Nota_Credito_Cliente_Cab AS A5 ON A5.Id_Nota_Credito_Cliente = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 160
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Nota_Credito_Proveedor_Cab AS A5 ON A5.Id_Nota_Credito_Proveedor = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 161
                                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_ReciboHonorarios_Cliente_Cab AS A5 ON A5.Id_ReciboHonorarios_Cliente = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 180
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_ReciboArrendamiento_Cliente_Cab AS A5 ON A5.Id_ReciboArrendamiento_Cliente = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 190
                                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Pago_Cliente AS A5 ON A5.Id_Pago = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 310
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Pago_Proveedor AS A5 ON A5.Id_Pago = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 311
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Ajuste_Saldo AS A5 ON A5.Id_Ajuste = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 410
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Origen, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_MovInv_Cab AS A5 ON A5.Id_MovInventario = A1.Id_Doc_Origen)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Destino = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Origen)
               
                WHERE A1.Id_Doc_Destino = @@Id_Doc_Destino AND A1.Tipo_Doc_Destino = @@Tipo_Doc_Destino AND A1.Tipo_Doc_Origen = 510
            ".Replace("@@TablaId", Id)
             .Replace("@@Tabla", Tabla)             
             .Replace("@@Id_Doc_Destino", Id_Documento.ToString())
             .Replace("@@Tipo_Doc_Destino", Tipo_Documento.GetHashCode().ToString());

            return SrvDB.ExecuteQuery_Get(Query);
        }

        public static DataTable Get_DocumentosDestino(

            int Id_Documento,
            Documentos_Id Tipo_Documento
        )
        {
            string Tabla = "";
            string Id = "";

            if (Tipo_Documento == Documentos_Id.Doc_CotizacionVenta)
            {
                Tabla = "dbo_Trans_Cotizacion_Compra_Cab";
                Id = "Id_Cotizacion_Compra";
            }
            if (Tipo_Documento == Documentos_Id.Doc_Pedido)
            {
                Tabla = "dbo_Trans_Pedido_Cab";
                Id = "Id_Pedido";
            }
            if (Tipo_Documento == Documentos_Id.Doc_Remision)
            {
                Tabla = "dbo_Trans_Remision_Cab";
                Id = "Id_Remision";
            }
            if (Tipo_Documento == Documentos_Id.Doc_FacturaCliente)
            {
                Tabla = "dbo_Trans_Factura_Cliente_Cab";
                Id = "Id_Factura_Cliente";
            }
            if (Tipo_Documento == Documentos_Id.Doc_DevolucionCliente)
            {
                Tabla = "dbo_Trans_Devolucion_Cliente_Cab";
                Id = "Id_Devolucion_Cliente";
            }
            if (Tipo_Documento == Documentos_Id.Doc_NotaCreditoCliente)
            {
                Tabla = "dbo_Trans_Nota_Credito_Cliente_Cab";
                Id = "Id_Nota_Credito_Cliente";
            }
            if (Tipo_Documento == Documentos_Id.Doc_NotaCargoCliente)
            {
                Tabla = "dbo_dbo_Trans_Nota_Cargo_Cliente_Cab";
                Id = "Id_Nota_Cargo_Cliente";
            }
            if (Tipo_Documento == Documentos_Id.Doc_ReciboHonorariosVentas)
            {
                Tabla = "dbo_Trans_ReciboHonorarios_Cliente_Cab";
                Id = "Id_ReciboHonorarios_Cliente";
            }
            if (Tipo_Documento == Documentos_Id.Doc_ReciboArrendamientoVentas)
            {
                Tabla = "dbo_Trans_ReciboArrendamiento_Cliente_Cab";
                Id = "Id_ReciboArrendamiento_Cliente";
            }
            if (Tipo_Documento == Documentos_Id.Doc_ReciboNominaVentas)
            {
                Tabla = "dbo_Trans_ReciboNomina_Cliente_Cab";
                Id = "Id_ReciboNomina_Cliente";
            }
            if (Tipo_Documento == Documentos_Id.Doc_CotizacionCompra)
            {
                Tabla = "dbo_Trans_Cotizacion_Compra_Cab";
                Id = "Id_Cotizacion_Compra";
            }
            if (Tipo_Documento == Documentos_Id.Doc_OrdenCompra)
            {
                Tabla = "dbo_Trans_OrdenCompra_Cab";
                Id = "Id_OrdenCompra";
            }
            if (Tipo_Documento == Documentos_Id.Doc_Recepcion)
            {
                Tabla = "dbo_Trans_Recepcion_Cab";
                Id = "Id_Recepcion";
            }
            if (Tipo_Documento == Documentos_Id.Doc_FacturaProveedor)
            {
                Tabla = "dbo_Trans_Factura_Proveedor_Cab";
                Id = "Id_Factura_Proveedor";
            }
            if (Tipo_Documento == Documentos_Id.Doc_DevolucionProveedor)
            {
                Tabla = "dbo_Trans_Devolucion_Proveedor_Cab";
                Id = "Id_Devolucion_Proveedor";
            }
            if (Tipo_Documento == Documentos_Id.Doc_NotaCreditoProveedor)
            {
                Tabla = "dbo_Trans_Nota_Credito_Proveedor_Cab";
                Id = "Id_Nota_Credito_Proveedor";
            }
            if (Tipo_Documento == Documentos_Id.Doc_NotaCargoProveedor)
            {
                Tabla = "dbo_Trans_Nota_Cargo_Proveedor_Cab";
                Id = "Id_Nota_Cargo_Proveedor";
            }
            if (Tipo_Documento == Documentos_Id.Doc_ReciboHonorariosCompras)
            {
                Tabla = "dbo_Trans_ReciboHonorarios_Compras_Cab";
                Id = "Id_ReciboHonorarios_Compras";
            }
            if (Tipo_Documento == Documentos_Id.Doc_ReciboArrendamientoCompras)
            {
                Tabla = "dbo_Trans_ReciboArrendamiento_Compras_Cab";
                Id = "Id_ReciboArrendamiento_Compras";
            }
            if (Tipo_Documento == Documentos_Id.Doc_ReciboNominaCompras)
            {
                Tabla = "dbo_Trans_ReciboNomina_Compras_Cab";
                Id = "Id_ReciboNomina_Compras";
            }
            if (Tipo_Documento == Documentos_Id.Doc_PagoCliente)
            {
                Tabla = "dbo_Trans_Pago_Cliente";
                Id = "Id_Pago";
            }
            if (Tipo_Documento == Documentos_Id.Doc_PagoProveedor)
            {
                Tabla = "dbo_Trans_Pago_Proveedor";
                Id = "Id_Pago";
            }
            if (Tipo_Documento == Documentos_Id.Doc_AjusteSaldo)
            {
                Tabla = "dbo_Trans_Ajuste_Saldo";
                Id = "Id_Ajuste";
            }
            if (Tipo_Documento == Documentos_Id.Doc_MovimientoInventario)
            {
                Tabla = "dbo_Trans_MovInv_Cab";
                Id = "Id_MovInventario";
            }

            string Query = @"

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Cotizacion_Venta_Cab AS A5 ON A5.Id_Cotizacion_Venta = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 110

                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Cotizacion_Compra_Cab AS A5 ON A5.Id_Cotizacion_Compra = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 111
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Pedido_Cab AS A5 ON A5.Id_Pedido = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 120
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_OrdenCompra_Cab AS A5 ON A5.Id_OrdenCompra = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 121
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Remision_Cab AS A5 ON A5.Id_Remision = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 130
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Recepcion_Cab AS A5 ON A5.Id_Recepcion = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 131
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Factura_Cliente_Cab AS A5 ON A5.Id_Factura_Cliente = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 140
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Factura_Proveedor_Cab AS A5 ON A5.Id_Factura_Proveedor = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 141
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Devolucion_Cliente_Cab AS A5 ON A5.Id_Devolucion_Cliente = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 150
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Devolucion_Proveedor_Cab AS A5 ON A5.Id_Devolucion_Proveedor = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 151
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Nota_Credito_Cliente_Cab AS A5 ON A5.Id_Nota_Credito_Cliente = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 160
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Nota_Credito_Proveedor_Cab AS A5 ON A5.Id_Nota_Credito_Proveedor = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 161
                                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_ReciboHonorarios_Cliente_Cab AS A5 ON A5.Id_ReciboHonorarios_Cliente = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 180
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_ReciboArrendamiento_Cliente_Cab AS A5 ON A5.Id_ReciboArrendamiento_Cliente = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 190
                                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Pago_Cliente AS A5 ON A5.Id_Pago = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 310
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Pago_Proveedor AS A5 ON A5.Id_Pago = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 311
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_Ajuste_Saldo AS A5 ON A5.Id_Ajuste = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 410
                
                UNION ALL

                SELECT A4.Descripcion AS TipoDoc_Destino, A5.Secuencia, A3.Nombre AS Estatus, A5.Fecha_Alta FROM 
                    ((((dbo_Trans_Relacion_Documentos AS A1
                                INNER JOIN dbo_Trans_MovInv_Cab AS A5 ON A5.Id_MovInventario = A1.Id_Doc_Destino)
                                INNER JOIN @@Tabla AS A2 ON A1.Id_Doc_Origen = A2.@@TablaId)
                                INNER JOIN dbo_Cat_Estatus AS A3 ON A3.Estatus = A5.Estatus) 
                                INNER JOIN dbo_Cat_TipoDocumento AS A4 ON A4.Id_TipoDocumento = A1.Tipo_Doc_Destino)
               
                WHERE A1.Id_Doc_Origen = @@Id_Doc_Origen AND A1.Tipo_Doc_Origen = @@Tipo_Doc_Origen AND A1.Tipo_Doc_Destino = 510

            ".Replace("@@TablaId", Id)
             .Replace("@@Tabla", Tabla)
             .Replace("@@Id_Doc_Origen", Id_Documento.ToString())
             .Replace("@@Tipo_Doc_Origen", Tipo_Documento.GetHashCode().ToString());

            return SrvDB.ExecuteQuery_Get(Query);
        }

        #endregion
    }
}

